package com.caocao.utils;

import java.util.List;
import java.util.Set;

/**
 * 判断对象是否为空的工具类
 */
public class VerifyUtil {
	/**
	 * 校验对象是否为空
	 * 
	 * @param obj
	 * @return
	 */
	public static boolean isEmpty(Object obj) {
		if (obj == null) {
			return true;
		}
		if ("null".equalsIgnoreCase(obj.toString())) {
			return true;
		} else if (obj instanceof List<?>) {
			List<?> objList = (List<?>) obj;
			return objList.size() == 0;
		} else if (obj instanceof Object[]) {
			Object[] objArray = (Object[]) obj;
			return objArray.length == 0;
		}  else if (obj instanceof Set<?>) {
			Set<?> objSet = (Set<?>) obj;
			return objSet.size() == 0;
		} else {
			return obj.toString().length() == 0;
		}
	}

	/**
	 * 是否非空
	 * 
	 * @param obj
	 * @return
	 */
	public static boolean isNotEmpty(Object obj) {
		return !isEmpty(obj);
	}

	/**
	 * 判断字符串是否为空
	 * @param s
	 * @return
	 */
	public static boolean isEmptyString(String s) {
		return s == null || "".equals(s.trim());
	}

	/**
	 * 判断字符串不为空
	 * @param s
	 * @return
	 */
	public static boolean isNotEmptyString(String s) {
		return !isEmpty(s);
	}
}
